/*
 * DistanzaPK.java
 * Bean utilizzato per rappresentare la chiave primaria dell'entity bean Distanza
 */

package ejb;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Embeddable;

/**
 * Rappresenta la chiave primaria della distanza, o itinerario,
 * Implementa tutti i metodi set e get per la gestione della distanza
 * @author Rosario Salone
 */
@Embeddable
public class DistanzaPK implements Serializable {
    @Column(name = "PARTENZA", nullable = false)
    private String partenza;
    @Column(name = "DESTINAZIONE", nullable = false)
    private String destinazione;
    @Column(name = "TRASPORTO", nullable = false)
    private int trasporto;

    public DistanzaPK() {
    }

    public DistanzaPK(String partenza, String destinazione, int trasporto) {
        this.partenza = partenza;
        this.destinazione = destinazione;
        this.trasporto = trasporto;
    }

    public String getPartenza() {
        return partenza;
    }

    public void setPartenza(String partenza) {
        this.partenza = partenza;
    }

    public String getDestinazione() {
        return destinazione;
    }

    public void setDestinazione(String destinazione) {
        this.destinazione = destinazione;
    }

    public int getTrasporto() {
        return trasporto;
    }

    public void setTrasporto(int trasporto) {
        this.trasporto = trasporto;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (partenza != null ? partenza.hashCode() : 0);
        hash += (destinazione != null ? destinazione.hashCode() : 0);
        hash += (int) trasporto;
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof DistanzaPK)) {
            return false;
        }
        DistanzaPK other = (DistanzaPK) object;
        if ((this.partenza == null && other.partenza != null) || (this.partenza != null && !this.partenza.equals(other.partenza))) {
            return false;
        }
        if ((this.destinazione == null && other.destinazione != null) || (this.destinazione != null && !this.destinazione.equals(other.destinazione))) {
            return false;
        }
        if (this.trasporto != other.trasporto) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "ejb.DistanzaPK[partenza=" + partenza + ", destinazione=" + destinazione + ", trasporto=" + trasporto + "]";
    }

}
